#ifndef ACAPELLA_ACAPELLA_H
#define ACAPELLA_ACAPELLA_H

#include "config.h"
#include <assert.h>

namespace acapella
{
	struct __acapella_os_type__{};
	struct acapella_os_windows : virtual __acapella_os_type__{};
	struct acapella_os_linux : virtual __acapella_os_type__{};

#ifdef ACAPELLA_WINDOWS
#	define STDCALL __stdcall
	typedef acapella_os_windows acapella_os_type;
#else
#	define STDCALL 
	typedef acapella_os_linux acapella_os_type;
#endif


	typedef unsigned char		_uint8_;
	typedef unsigned short		_uint16_;
	typedef unsigned int		_uint32_;
	typedef unsigned long long  _uint64_;

	typedef char		_int8_;
	typedef short		_int16_;
	typedef int			_int32_;
	typedef long long	_int64_;

#define ACAPELLA_ASSERT(exp, msg) assert((exp) && msg)

#define ACAPELLA_PP_COMMA() ,
}



#endif
